#ifndef FDEB_COMPATIBILITY_H
#define FDEB_COMPATIBILITY_H

#include "FDEBUtils.h"
#include "FDEBEdge.h"

// 角度相似度
double angleCompatibility(const FDEBEdge& e1, const FDEBEdge& e2);

// 长度相似度
double scaleCompatibility(const FDEBEdge& e1, const FDEBEdge& e2);

// 位置相似度
double positionCompatibility(const FDEBEdge& e1, const FDEBEdge& e2);

// 可见相似度
double visibilityCompatibility(const FDEBEdge& e1, const FDEBEdge& e2);

// 点投影到边上
FPoint projectPointOnEdge(const FPoint& p, const FDEBEdge& edge);

// 总相似度（乘积）
double calculateCompatibility(const FDEBEdge& e1, const FDEBEdge& e2);

#endif // FDEB_COMPATIBILITY_H
